/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package android.pista;

import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebService;
import negocio.Pista;
import negocio.dao.DAO;

/**
 *
 * @author davidcabrera
 */
@WebService
public class pista {
    
    DAO d= new DAO();
    
    @WebMethod(operationName="readPista")
    public Pista readPista(@WebParam(name = "id") Integer id){
        
        Pista p=null;
        try {
            p=(Pista)d.read("Pista", id);
        } catch (SQLException ex) {
            Logger.getLogger(pista.class.getName()).log(Level.SEVERE, null, ex);
        }
        
        return p;
    }
    
    @WebMethod(operationName="createPista")
    public void createPista(@WebParam(name = "idInstalacion") Integer idInstalacion, @WebParam(name = "tipo") String tipo, @WebParam(name = "foto") String foto, @WebParam(name = "precio") String precio,@WebParam(name = "nombre") String nombre, @WebParam(name = "descripcion") String descripcion){
        
        Pista p=new Pista(tipo, foto, precio, idInstalacion, nombre, descripcion);
        try {
            d.create(p, "Pista");
        } catch (SQLException ex) {
            Logger.getLogger(pista.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
    
    @WebMethod(operationName="updatePista")
    public void updatePista(@WebParam(name = "id") Integer id,@WebParam(name = "idInstalacion") Integer idInstalacion, @WebParam(name = "tipo") String tipo, @WebParam(name = "foto") String foto, @WebParam(name = "precio") String precio,@WebParam(name = "nombre") String nombre, @WebParam(name = "descripcion") String descripcion){
        
        Pista p=this.readPista(id);
        p.setDescripcion(descripcion);
        p.setFoto(foto);
        p.setIdInstalacion(idInstalacion);
        p.setNombre(nombre);
        p.setPrecio(precio);
        p.setTipo(tipo);
        try {
            d.update(p, "Pista");
        } catch (SQLException ex) {
            Logger.getLogger(pista.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
    
    @WebMethod(operationName="deletePista")
    public void deletePista(@WebParam(name = "id") Integer id){
        try {
            d.delete("Pista", id);
        } catch (SQLException ex) {
            Logger.getLogger(pista.class.getName()).log(Level.SEVERE, null, ex);
        }
        
    }
    
    @WebMethod(operationName="listPista")
    public List<Pista> listPista(){
        List<Pista> lista= new ArrayList<Pista>();
        List l=null;
        try {
            l=d.list("Pista");
        } catch (SQLException ex) {
            Logger.getLogger(pista.class.getName()).log(Level.SEVERE, null, ex);
        }
        for(Object p: l){
            lista.add((Pista) p);
        }
        
        
        return lista;
    }
    
}
